package com.sfac.javaSpringBoot.modules.account.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * AccountController所提供的是在服务器中的页面展示
 * get获取、 put放、
 * GET请求指定的页面信息，并返回实体主体
 * HEAD类似于get请求，只不过返回的响应中没有具体内容，用于获取报头
 * POST向指定资源提交数据进行处理请求（例如提交表单或者上传文件）。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改
 * PUT从客户端向服务器传送的数据取代指定的文档的内容
 * DELETE请求服务器删除指定的页面
 * OPTIONS允许客户端查看服务器的性能
 * @GetMapping是一个组合注解，是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get映射到特定处理方法上
 * @PostMapping是一个组合注解，是@RequestMapping(method = RequestMethod.POST)的缩写。
 */

@Controller

public class AccountController {
    /**1
     * login登录页面
     *127.0.0.1/login  ----get
     */
    @GetMapping("/login")//login来自于src\main\resources\templates\account/login
    public String loginPage(ModelMap modelMap){
        modelMap.addAttribute("template","account/login");//template来自于碎片组装器indexSimple
        return "indexSimple";
    }

    /**
     * register注册页面
     *127.0.0.1/register  ----get
     */
    @GetMapping("/register")//login来自于src\main\resources\templates\account/register
    public String registerPage(ModelMap modelMap){
        modelMap.addAttribute("template","account/register");//template来自于碎片组装器indexSimple
        return "indexSimple";
    }

    /**
     * users用户页面
     *127.0.0.1/account/users   ----get
     */
    @GetMapping("account/users")
    public String usersPage(Model modelMap){
        modelMap.addAttribute("template","account/users");
        return "index";//返回碎片组装器
    }

    /**
     * 127.0.0.1/account/profile   ---get
     */
    @GetMapping("/account/profile")
    public  String profilePage(ModelMap modelMap){
        modelMap.addAttribute("template","account/profile");
        return "index";
    }
}
